package bmw

var initVal224 = []uint32{
    0x00010203, 0x04050607, 0x08090A0B, 0x0C0D0E0F,
    0x10111213, 0x14151617, 0x18191A1B, 0x1C1D1E1F,
    0x20212223, 0x24252627, 0x28292A2B, 0x2C2D2E2F,
    0x30313233, 0x34353637, 0x38393A3B, 0x3C3D3E3F,
}

var initVal256 = []uint32{
    0x40414243, 0x44454647, 0x48494A4B, 0x4C4D4E4F,
    0x50515253, 0x54555657, 0x58595A5B, 0x5C5D5E5F,
    0x60616263, 0x64656667, 0x68696A6B, 0x6C6D6E6F,
    0x70717273, 0x74757677, 0x78797A7B, 0x7C7D7E7F,
}

var final256 = []uint32{
    0xaaaaaaa0, 0xaaaaaaa1, 0xaaaaaaa2, 0xaaaaaaa3,
    0xaaaaaaa4, 0xaaaaaaa5, 0xaaaaaaa6, 0xaaaaaaa7,
    0xaaaaaaa8, 0xaaaaaaa9, 0xaaaaaaaa, 0xaaaaaaab,
    0xaaaaaaac, 0xaaaaaaad, 0xaaaaaaae, 0xaaaaaaaf,
}

// =====

var K512 = []uint64{
    16 * 0x0555555555555555, 17 * 0x0555555555555555,
    18 * 0x0555555555555555, 19 * 0x0555555555555555,
    20 * 0x0555555555555555, 21 * 0x0555555555555555,
    22 * 0x0555555555555555, 23 * 0x0555555555555555,
    24 * 0x0555555555555555, 25 * 0x0555555555555555,
    26 * 0x0555555555555555, 27 * 0x0555555555555555,
    28 * 0x0555555555555555, 29 * 0x0555555555555555,
    30 * 0x0555555555555555, 31 * 0x0555555555555555,
}

var initVal384 = []uint64{
    0x0001020304050607, 0x08090A0B0C0D0E0F,
    0x1011121314151617, 0x18191A1B1C1D1E1F,
    0x2021222324252627, 0x28292A2B2C2D2E2F,
    0x3031323334353637, 0x38393A3B3C3D3E3F,
    0x4041424344454647, 0x48494A4B4C4D4E4F,
    0x5051525354555657, 0x58595A5B5C5D5E5F,
    0x6061626364656667, 0x68696A6B6C6D6E6F,
    0x7071727374757677, 0x78797A7B7C7D7E7F,
}

var initVal512 = []uint64{
    0x8081828384858687, 0x88898A8B8C8D8E8F,
    0x9091929394959697, 0x98999A9B9C9D9E9F,
    0xA0A1A2A3A4A5A6A7, 0xA8A9AAABACADAEAF,
    0xB0B1B2B3B4B5B6B7, 0xB8B9BABBBCBDBEBF,
    0xC0C1C2C3C4C5C6C7, 0xC8C9CACBCCCDCECF,
    0xD0D1D2D3D4D5D6D7, 0xD8D9DADBDCDDDEDF,
    0xE0E1E2E3E4E5E6E7, 0xE8E9EAEBECEDEEEF,
    0xF0F1F2F3F4F5F6F7, 0xF8F9FAFBFCFDFEFF,
}

var final512 = []uint64{
    0xaaaaaaaaaaaaaaa0, 0xaaaaaaaaaaaaaaa1,
    0xaaaaaaaaaaaaaaa2, 0xaaaaaaaaaaaaaaa3,
    0xaaaaaaaaaaaaaaa4, 0xaaaaaaaaaaaaaaa5,
    0xaaaaaaaaaaaaaaa6, 0xaaaaaaaaaaaaaaa7,
    0xaaaaaaaaaaaaaaa8, 0xaaaaaaaaaaaaaaa9,
    0xaaaaaaaaaaaaaaaa, 0xaaaaaaaaaaaaaaab,
    0xaaaaaaaaaaaaaaac, 0xaaaaaaaaaaaaaaad,
    0xaaaaaaaaaaaaaaae, 0xaaaaaaaaaaaaaaaf,
}
